package flex.persistence {

	public interface EntityTransaction {

		/**
		 * Retourne la connexion à la base normalement SQLConnection
		 */
		function get dbConnection():Object;
		
		/**
		 * Retourne les objects dans la transaction sous la forme de [ClassName_id_get/save/del]=object
		 */
		function get objects():Object;

		/**
		 * Start the resource transaction.
		 */
		function begin():void;
		/**
		 * Commit the current transaction, writing any unflushed changes to the database.
		 */
		function commit():void;
		/**
		 * Determine whether the current transaction has been marked for rollback.
		 */
		function getRollbackOnly():Boolean;
		/**
		 * Indicate whether a transaction is in progress.
		 */
		function isActive():Boolean;
		/**
		 * Roll back the current transaction
		 */
		function rollback():void;
		/**
		 * Mark the current transaction so that the only possible outcome of the transaction is for the transaction to be rolled back.
		 */
		function setRollbackOnly():void;
	}
}